package top.abrsm.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.time.LocalDateTime;
import java.util.Date;

import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 学生表
 * </p>
 *
 * @author WuZH
 * @since 2023-11-18
 */
@Data
@TableName ( "student_info" )
@ApiModel ( value = "StudentEntity对象", description = "学生表" )
public class StudentEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty ( "id" )
    @TableId ( value = "id", type = IdType.INPUT )
    private String id;

    @ApiModelProperty ( "学生姓名" )
    @TableField ( "stuName" )
    private String stuName;

    @ApiModelProperty ( "性别" )
    @TableField ( "stuSex" )
    private String stuSex;

    @ApiModelProperty ( "手机" )
    @TableField ( "stuMobile" )
    private String stuMobile;

    @ApiModelProperty ( "学生注册邮箱" )
    @TableField ( "stuEmail" )
    private String stuEmail;

    @ApiModelProperty ( "密码" )
    @TableField ( "password" )
    private String password;

    @ApiModelProperty ( "角色" )
    @TableField ( "roleId" )
    private String roleId;

    @ApiModelProperty ( "出生日期" )
    @TableField ( "birthday" )
    private LocalDateTime birthday;

    @ApiModelProperty ( "身份证号" )
    @TableField ( "idCard" )
    private String idCard;

    @ApiModelProperty ( "身份证照片" )
    @TableField ( "idCardUrl" )
    private String idCardUrl;

    @ApiModelProperty ( "刷脸认证照片" )
    @TableField ( "faceUrl" )
    private String faceUrl;

    @ApiModelProperty ( "创建时间" )
    @TableField ( "createTime" )
    private Date createTime;

    @ApiModelProperty ( "更新时间" )
    @TableField ( "changeTime" )
    private Date changeTime;

    @ApiModelProperty ( "备注" )
    @TableField ( "stuRemark" )
    private String stuRemark;

    @TableField ( "openid" )
    private String openid;

    @ApiModelProperty ( "公众号openId" )
    @TableField ( "pubOpenId" )
    private String pubOpenId;

    @ApiModelProperty ( "微信统一unionid" )
    @TableField ( "unionid" )
    private String unionid;

    @TableField ( "nickName" )
    private String nickName;

    @TableField ( "country" )
    private String country;

    @TableField ( "province" )
    private String province;

    @TableField ( "city" )
    private String city;

    @TableField ( "avatarUrl" )
    private String avatarUrl;

    @ApiModelProperty ( "学生积分总数" )
    @TableField ( "integral" )
    private Integer integral;

    @ApiModelProperty ( "签名介绍" )
    @TableField ( "sign" )
    private String sign;

    @ApiModelProperty ( "学生注册渠道，PC、小程序" )
    @TableField ( "registerChannel" )
    private String registerChannel;

    @ApiModelProperty ( "学生状态" )
    @TableField ( "state" )
    private Integer state;

    @TableField ( "isUsed" )
    private Integer isUsed;

    @ApiModelProperty ( "居住地址" )
    @TableField ( "stuAddress" )
    private String stuAddress;

    @TableField ( exist = false )
    private String code;
}
